Eager Test
^^^^^
**Definition:**
* A test case that checks or uses more than one method of the class under test. Since its introduction, this smell has been somewhat broadly defined. It is left to interpretation which method calls count towards the maximum. Either all methods invoked on the class under test could count, or only the methods invoked on the same instance under test, or only the methods of which the return value is eventually used within an assertion.
**Also Known As:**
* The Test It All, Split Personality, Many Assertions, Multiple Assertions, The Free Ride, The One, Piggyback, Silver Bullet
**Code Example:**
.. code-block:: java
public void testFlightMileage_asKm2() throws Exception {
// setup fixture
// exercise contructor
Flight newFlight = new Flight(validFlightNumber);
// verify constructed object
assertEquals(validFlightNumber, newFlight.number);
assertEquals("", newFlight.airlineCode);
assertNull(newFlight.airline);
// setup mileage
newFlight.setMileage(1122);
// exercise mileage translater
int actualKilometres = newFlight.getMileageAsKm();
// verify results
int expectedKilometres = 1810;
assertEquals( expectedKilometres, actualKilometres);
// now try it with a canceled flight:
newFlight.cancel();
try {
newFlight.getMileageAsKm();
fail("Expected exception");
} catch (InvalidRequestException e) {
assertEquals( "Cannot get cancelled flight mileage", e.getMessage());
}
}
**References:**
.. admonition:: Quality attributes
* :octicon:`file-code;1em` - Code Example
* :octicon:`comment-discussion;1em` - Cause and Effect
* :octicon:`graph;1em` - Frequency
* :octicon:`sync;1em` - Refactoring
* `A preliminary evaluation on the relationship among architectural and test smells `_
* `A survey on test practitioners' awareness of test smells `_
* `An Empirical Study into the Relationship Between Class Features and Test Smells `_ :octicon:`graph;1em`
* `An Exploratory Study on the Refactoring of Unit Test Files in Android Applications `_ :octicon:`comment-discussion;1em` :octicon:`sync;1em`
* `An analysis of information needs to detect test smells `_ :octicon:`comment-discussion;1em`
* `An empirical analysis of the distribution of unit test smells and their impact on software maintenance `_ :octicon:`graph;1em`
* `An empirical investigation into the nature of test smells `_ :octicon:`sync;1em`
* `An exploratory study of the relationship between software test smells and fault-proneness `_ :octicon:`comment-discussion;1em` :octicon:`graph;1em`
* `Analyzing Test Smells Refactoring from a Developers Perspective `_ :octicon:`comment-discussion;1em` :octicon:`graph;1em` :octicon:`sync;1em`
* `Are test smells really harmful? An empirical study `_ :octicon:`comment-discussion;1em` :octicon:`graph;1em` :octicon:`sync;1em`
* `Assessing diffusion and perception of test smells in scala projects `_ :octicon:`file-code;1em` :octicon:`comment-discussion;1em` :octicon:`graph;1em` :octicon:`sync;1em`
* `Automatic Identification of High-Impact Bug Report by Product and Test Code Quality `_
* `Automatic Refactoring Method to Remove Eager Test Smell `_ :octicon:`file-code;1em` :octicon:`comment-discussion;1em` :octicon:`graph;1em` :octicon:`sync;1em`
* `Automatic Test Smell Detection Using Information Retrieval Techniques `_ :octicon:`graph;1em`
* `Automatic generation of smell-free unit tests `_ :octicon:`file-code;1em` :octicon:`comment-discussion;1em`
* `Categorising Test Smells `_ :octicon:`graph;1em`
* `Characterizing the Relative Significance of a Test Smell `_ :octicon:`comment-discussion;1em` :octicon:`sync;1em`
* `Detecting redundant unit tests for AspectJ programs `_ :octicon:`comment-discussion;1em`
* `Developers perception on the severity of test smells: an empirical study `_ :octicon:`graph;1em` :octicon:`sync;1em`
* `Do the Test Smells Assertion Roulette and Eager Test Impact Students' Troubleshooting and Debugging Capabilities? `_ :octicon:`comment-discussion;1em`
* `Enhancing developers’ awareness on test suites’ quality with test smell summaries `_
* `Generated Tests in the Context of Maintenance Tasks: A Series of Empirical Studies `_ :octicon:`file-code;1em` :octicon:`comment-discussion;1em` :octicon:`graph;1em` :octicon:`sync;1em`
* `Handling Test Smells in Python: Results from a Mixed-Method Study `_
* `How are test smells treated in the wild? A tale of two empirical studies `_ :octicon:`graph;1em`
* `Investigating Severity Thresholds for Test Smells `_ :octicon:`comment-discussion;1em`
* `Investigating Test Smells in JavaScript Test Code `_ :octicon:`graph;1em`
* `Just-In-Time Test Smell Detection and Refactoring: The DARTS Project `_ :octicon:`sync;1em`
* `Machine Learning-Based Test Smell Detection `_
* `Obscure Test `_ :octicon:`file-code;1em` :octicon:`comment-discussion;1em` :octicon:`sync;1em`
* `On The Detection of Test Smells: A Metrics-Based Approach for General Fixture and Eager Test `_ :octicon:`comment-discussion;1em` :octicon:`graph;1em` :octicon:`sync;1em`
* `On the Relation of Test Smells to Software Code Quality `_
* `On the diffusion of test smells and their relationship with test code quality of Java projects `_ :octicon:`graph;1em`
* `On the diffusion of test smells in automatically generated test code: an empirical study `_
* `On the distribution of test smells in open source Android applications: an exploratory study `_ :octicon:`graph;1em`
* `On the influence of Test Smells on Test Coverage `_
* `On the interplay between software testing and evolution and its effect on program comprehension `_ :octicon:`comment-discussion;1em`
* `On the test smells detection: an empirical study on the jnose test accuracy `_ :octicon:`graph;1em`
* `On the use of test smells for prediction of flaky tests `_ :octicon:`comment-discussion;1em` :octicon:`graph;1em`
* `Pizza versus Pinsa: On the Perception and Measurability of Unit Test Code Quality `_ :octicon:`comment-discussion;1em` :octicon:`graph;1em`
* `Pytest-Smell: a smell detection tool for Python unit tests `_ :octicon:`graph;1em`
* `Refactoring Test Code `_ :octicon:`comment-discussion;1em` :octicon:`sync;1em`
* `Revisiting Test Smells in Automatically Generated Tests: Limitations, Pitfalls, and Opportunities `_ :octicon:`file-code;1em` :octicon:`graph;1em`
* `Rule-based Assessment of Test Quality `_ :octicon:`graph;1em`
* `Scented since the beginning: On the diffuseness of test smells in automatically generated test code `_
* `Smart prediction for refactorings in the software test code `_ :octicon:`graph;1em`
* `Smells in software test code: A survey of knowledge in industry and academia `_ :octicon:`file-code;1em`
* `SoCRATES: Scala radar for test smells `_
* `Software Unit Test Smells `_ :octicon:`file-code;1em`
* `Test Smell Detection Tools: A Systematic Mapping Study `_
* `Test code quality and its relation to issue handling performance `_ :octicon:`comment-discussion;1em`
* `Test-related factors and post-release defects: an empirical study `_
* `TestQ: Exploring Structural and Maintenance Characteristics of Unit Test Suites `_
* `The Relation of Test-Related Factors to Software Quality: A Case Study on Apache Systems `_ :octicon:`graph;1em`
* `The secret life of test smells-an empirical study on test smell evolution and maintenance `_ :octicon:`graph;1em`
* `To What Extent Can Code Quality be Improved by Eliminating Test Smells? `_ :octicon:`comment-discussion;1em`
* `Toward static test flakiness prediction: a feasibility study `_ :octicon:`graph;1em`
* `Towards Automated Tools for Detecting Test Smells: An Empirical Investigation into the Nature of Test Smells `_ :octicon:`comment-discussion;1em` :octicon:`graph;1em`
* `Understanding Testability and Test Smells `_
* `Unit Test Smells and Accuracy of Software Engineering Student Test Suites `_
* `What We Know About Smells in Software Test Code `_
* `What the Smell? An Empirical Investigation on the Distribution and Severity of Test Smells in Open Source Android Applications `_ :octicon:`graph;1em`
* `tsDetect: an open source test smells detection tool `_
* `xUnit test patterns: Refactoring test code `_ :octicon:`file-code;1em` :octicon:`comment-discussion;1em` :octicon:`sync;1em`